package 状态机.请假demo.handler.impl.annualleavespecifichandler.leader;


import 状态机.请假demo.entity.LeavePermit;
import 状态机.请假demo.handler.CommonStatusHandler;

public class LeaderAgreeAnnualLeavePermitStatusHandler extends CommonStatusHandler {


    @Override
    protected void doSpecificHandler(LeavePermit leavePermit) {
        // todo 为什么要在同意的时候设置 event 为 null
        // 答：因为同意后需要让其他人审核或者结束审批，也就是需要跳出递归，
        // 在 after 方法里面若检测到 event 是空的，则不寻找下一个状态直接返回
        leavePermit.setEvent(null);
        System.out.println(String.format("user:%s--Leader同意休%s的申请--leavePermit.status is:%s",
                leavePermit.getUser(),
                leavePermit.getLeavePermitType().getMemo(),
                leavePermit.getStatus().getStatus()));
    }
}
